- Introduced new commands and skills for workspace memory curation, professional communication, and status reporting. - Updated existing commands to utilize new skills and improve clarity in instructions. - Created a new workspace context command to load reusable core and active project profile. - Enhanced Mattermost inbox integration with support for generic environment variables. - Established a clear separation between project-independent core logic and project-specific profiles. - Improved documentation across various files to reflect changes in workflow and command usage. - Added operational memory management rules to ensure accurate context promotion and correction. - Updated README and workflow documents to guide users in utilizing the new structure effectively.
4.5 KiB
description
| description |
|---|
| Import a historical Slack export and refine workspace memory from it |
Use a Slack export as a historical context source for the workspace.
Interpret this as historical recovery, not as current truth and not as model training.
Inputs:
$ARGUMENTSmay contain an export path, channel names, or date filters- if no explicit path is given in the arguments, use
AIW_SLACK_EXPORT_PATHwhen available - compatibility fallback:
FIDELITY_SLACK_EXPORT_PATH - otherwise, if
archives/slack/export/exists, use it as the default import source - if no channels are specified, auto-detect channels using
AIW_CHANNEL_PREFIX - compatibility/default prefix:
fidelity - if no message limit is specified, auto-tune message selection based on archive size
- if no date range is specified, do an initial full-history sweep across the detected
fidelity*channels - preserve broad coverage across years and channels while still prioritizing high-signal messages
First, run the importer:
!prefix="${AIW_CHANNEL_PREFIX:-fidelity}"; if [ -n "$ARGUMENTS" ]; then python3 scripts/slack/import_slack_export.py $ARGUMENTS; elif [ -n "$AIW_SLACK_EXPORT_PATH" ]; then python3 scripts/slack/import_slack_export.py --export-path "$AIW_SLACK_EXPORT_PATH" --channel-prefix "$prefix"; elif [ -n "$FIDELITY_SLACK_EXPORT_PATH" ]; then python3 scripts/slack/import_slack_export.py --export-path "$FIDELITY_SLACK_EXPORT_PATH" --channel-prefix "$prefix"; elif [ -d archives/slack/export ]; then python3 scripts/slack/import_slack_export.py --export-path archives/slack/export --channel-prefix "$prefix"; else echo "Provide Slack import arguments, set AIW_SLACK_EXPORT_PATH, set FIDELITY_SLACK_EXPORT_PATH, or place an extracted export in archives/slack/export."; fi
Read:
@ai/AGENTS.md @core/README.md @core/memory/operational-memory.md @core/integrations/communication-model.md @ai/context/index.md @ai/context/project.md @ai/context/systems/index.md @ai/context/workstreams/index.md @ai/context/process/index.md @ai/context/people/index.md @ai/context/people/manager.md @ai/work-items/index.md @ai/state/current.md @ai/state/work-items.md @knowledge/agent-memory-rules.md @knowledge/memory-promotion-rules.md
Imported summary, if present:
!if [ -s scripts/slack/generated/slack_summary.md ]; then cat scripts/slack/generated/slack_summary.md; else echo "No Slack summary generated."; fi
Imported Slack context, if present:
!if [ -s scripts/slack/generated/slack_context.jsonl ]; then cat scripts/slack/generated/slack_context.jsonl; else echo "No Slack context generated."; fi
Instructions:
- treat the Slack archive as historical evidence, not promoted memory by itself
- assume this may be a large multi-year export
- assume the first import should preserve evidence from the beginning of the project, not just recent history
- promote durable project-relevant context automatically when confidence is high
- prefer promoting:
- repeated Jira IDs and titles still relevant to current understanding
- durable role/person associations
- recurring architecture or debugging patterns
- past approvals or decisions that still matter
- create or update person files when the archive shows a human repeatedly contributing across channels, years, or high-signal technical/process discussions
- store people conservatively:
- exact role only when explicitly supported by the archive
- otherwise store collaboration pattern, communication style, and project relationship
- actively look for:
- Jira IDs plus explicit titles, sizing, and scope changes
- repeated architecture themes around XFlow, SwiftUI, REST, GraphQL, auth, and entry-point behavior
- ownership or responsibility boundaries between framework and consuming app teams
- recurring pipeline or dependency failures that shaped project work
- named people who repeatedly drive approvals, technical framing, or debugging direction
- prioritize high-signal messages such as Jira references, approvals, scope changes, root-cause notes, points, and persistent technical constraints
- favor messages that help reconstruct project history across multiple years, not just the newest ones
- avoid promoting outdated daily status unless it changes current understanding
- update existing memory when the archive clarifies or corrects it
- if historical facts are ambiguous or likely outdated, summarize them as archived context instead of promoting them
Return:
- What was imported
- Which files were updated
- Which historical facts were promoted or intentionally left as archive-only context