incitaciones 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +57 -0
  2. package/content/distilled/close/SKILL.md +68 -0
  3. package/content/distilled/create-issues/SKILL.md +10 -0
  4. package/content/distilled/implement-documentation/SKILL.md +29 -0
  5. package/content/distilled/implement-documentation/references/anti-patterns.md +35 -0
  6. package/content/distilled/implement-documentation/references/diataxis-implementation.md +31 -0
  7. package/content/distilled/implement-documentation/references/templates.md +115 -0
  8. package/content/distilled/implement-documentation/references/tooling-comparison.md +46 -0
  9. package/content/distilled/implement-documentation/references/versioning.md +31 -0
  10. package/content/distilled/issue-review/SKILL.md +5 -4
  11. package/content/distilled/issue-review/references/pass-0-preflight.md +37 -0
  12. package/content/distilled/next/SKILL.md +54 -0
  13. package/content/distilled/park/SKILL.md +98 -0
  14. package/content/distilled/renew/SKILL.md +164 -0
  15. package/content/distilled/research-documentation/SKILL.md +29 -0
  16. package/content/distilled/research-documentation/references/checklist.md +58 -0
  17. package/content/distilled/research-documentation/references/llm-readiness.md +43 -0
  18. package/content/distilled/research-documentation/references/metrics.md +42 -0
  19. package/content/distilled/research-documentation/references/report-template.md +42 -0
  20. package/content/distilled/review-documentation/SKILL.md +49 -0
  21. package/content/distilled/review-documentation/references/ai-readiness-criteria.md +38 -0
  22. package/content/distilled/whisper/SKILL.md +83 -0
  23. package/content/distilled/whisper/references/check.md +33 -0
  24. package/content/distilled/whisper/references/decommission.md +53 -0
  25. package/content/distilled/whisper/references/init.md +103 -0
  26. package/content/distilled/whisper/references/link.md +70 -0
  27. package/content/distilled/whisper/references/status.md +49 -0
  28. package/content/manifest.json +458 -11
  29. package/package.json +2 -1
  30. package/pi-package/prompts/close.md +10 -0
  31. package/pi-package/prompts/next.md +10 -0
  32. package/pi-package/prompts/park.md +10 -0
  33. package/pi-package/prompts/renew.md +10 -0
  34. package/pi-package/prompts/whisper.md +10 -0
  35. package/pi-package/skills/close/SKILL.md +74 -0
  36. package/pi-package/skills/create-issues/SKILL.md +10 -0
  37. package/pi-package/skills/implement-documentation/SKILL.md +18 -57
  38. package/pi-package/skills/implement-documentation/references/anti-patterns.md +35 -0
  39. package/pi-package/skills/implement-documentation/references/diataxis-implementation.md +31 -0
  40. package/pi-package/skills/implement-documentation/references/templates.md +115 -0
  41. package/pi-package/skills/implement-documentation/references/tooling-comparison.md +46 -0
  42. package/pi-package/skills/implement-documentation/references/versioning.md +31 -0
  43. package/pi-package/skills/issue-review/SKILL.md +5 -4
  44. package/pi-package/skills/issue-review/references/pass-0-preflight.md +37 -0
  45. package/pi-package/skills/next/SKILL.md +60 -0
  46. package/pi-package/skills/park/SKILL.md +104 -0
  47. package/pi-package/skills/renew/SKILL.md +170 -0
  48. package/pi-package/skills/research-documentation/SKILL.md +19 -69
  49. package/pi-package/skills/research-documentation/references/checklist.md +58 -0
  50. package/pi-package/skills/research-documentation/references/llm-readiness.md +43 -0
  51. package/pi-package/skills/research-documentation/references/metrics.md +42 -0
  52. package/pi-package/skills/research-documentation/references/report-template.md +42 -0
  53. package/pi-package/skills/review-documentation/SKILL.md +45 -40
  54. package/pi-package/skills/review-documentation/references/ai-readiness-criteria.md +38 -0
  55. package/pi-package/skills/whisper/SKILL.md +89 -0
  56. package/pi-package/skills/whisper/references/check.md +33 -0
  57. package/pi-package/skills/whisper/references/decommission.md +53 -0
  58. package/pi-package/skills/whisper/references/init.md +103 -0
  59. package/pi-package/skills/whisper/references/link.md +70 -0
  60. package/pi-package/skills/whisper/references/status.md +49 -0
  61. package/scripts/generate-pi-resources.mjs +122 -0
  62. package/content/distilled/implement-documentation.md +0 -68
  63. package/content/distilled/research-documentation.md +0 -79
  64. package/content/distilled/review-documentation.md +0 -44
@@ -60,6 +60,16 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
60
60
  - Apply tracker labels such as `needs-triage` when the project uses them.
61
61
  - Wire dependencies using actual captured identifiers or explicit body references.
62
62
  - Verify each creation step succeeded before continuing.
63
+ - **After each successful creation**, extract the `**Files / Systems:**` bullet list from
64
+ the issue description and store it as structured metadata:
65
+ ```bash
66
+ bd update <id> --metadata '{"files": ["path/to/file1.py", "path/to/file2.py"]}'
67
+ ```
68
+ This enables automated file-conflict detection by concurrent agents (see `renew` skill
69
+ **Claiming work** section). If the Files/Systems section is empty or contains only
70
+ subsystem names without concrete paths, **stop and ask the user for specific file paths
71
+ before publishing the ticket** — a ticket without concrete paths cannot participate in
72
+ conflict detection and is incomplete.
63
73
 
64
74
  7. **Final report:**
65
75
  - Summarize the approved slice set, created issues, labels, and dependency links.
@@ -8,67 +8,28 @@ metadata:
8
8
 
9
9
  Write a high-signal documentation topic using the Unified Frameworks for Technical Information Architecture.
10
10
 
11
- ## CRITICAL RULES
11
+ ## Core Rules
12
12
 
13
- 1. ✅ **DO:** Establish context and prerequisites in the first two sentences (EPPO).
14
- 2. ✅ **DO:** Lead with the answer or primary assertion in the TL;DR and first paragraph (Pyramid Principle).
15
- 3. ✅ **DO:** Use explicit, semantic block labels (descriptive headers) for every 2-3 paragraphs (Info Mapping).
16
- 4. ✅ **DO:** Provide a clear "fail-state" or troubleshooting section (Minimalism).
17
- 5. ❌ **DO NOT:** Mix intents (e.g., no deep theory in a How-to guide). If theory is *required* for a task, use a **Note:** or **Deep Dive:** sidebar to maintain quadrant purity.
18
- 6. ❌ **DO NOT:** Use "Next" or "Previous" as the only navigational cues (EPPO).
13
+ - Establish context and prerequisites in the first two sentences (EPPO).
14
+ - Lead with the answer or primary assertion in the TL;DR and first paragraph (Pyramid Principle).
15
+ - Use explicit, semantic block labels (descriptive headers) for every 2-3 paragraphs (Info Mapping).
16
+ - Provide a clear "fail-state" or troubleshooting section (Minimalism).
17
+ - Do not mix intents: no deep theory in a How-to. If theory is required, use a Note or Deep Dive sidebar to maintain quadrant purity.
18
+ - Do not use "Next" or "Previous" as the only navigational cues (EPPO).
19
19
 
20
- ## Implementation Workflow
20
+ ## Procedure
21
21
 
22
- ### Step 1: Quadrant Check
22
+ 1. Quadrant check: identify the Diátaxis quadrant and follow its rhetorical rules. Use `references/templates.md` for the matching template (Tutorial, How-to, Reference, or Explanation). Use `references/anti-patterns.md` to avoid common failures for that quadrant.
23
+ 2. EPPO initialization: every topic must stand alone. Start with a clear task- or concept-focused title and a context block ("This topic covers [X]. You should already understand [Y] and have [Z] installed.").
24
+ 3. Information mapping: chunk the body into units under 7 items; label headers by result or content (e.g., "Configuring the API" not "Configuration"); convert complex comparisons or steps into tables and lists.
25
+ 4. AI-first polish: ensure headers are descriptive for RAG indexing and provide a 1-2 sentence TL;DR at the top for LLM ingestion.
26
+ 5. If setting up a new docs site or choosing tooling, use `references/tooling-comparison.md` for platform selection and `references/versioning.md` for versioning and changelog strategy. For a full Diátaxis rollout, use `references/diataxis-implementation.md`.
23
27
 
24
- Identify the Diátaxis quadrant and follow its rhetorical rules:
25
- - **Tutorial:** Action-oriented, safe environment. Use the **Martini Glass** narrative pattern: Author-driven stem (guided context) → Reader-driven bowl (open exploration).
26
- - **How-to:** Task-focused, assumes baseline competence, minimal theory.
27
- - **Reference:** Fact-based, scannable tables, no narrative filler.
28
- - **Explanation:** Theoretical, discusses "Why," maps concepts.
28
+ ## Rules
29
29
 
30
- ### Step 2: EPPO Initialization
30
+ - The canonical theory lives in `content/research-documentation-frameworks.md`; the references here are operational excerpts that link back to it.
31
31
 
32
- Every topic must stand alone. Start with:
33
- - **Title:** Clear, task- or concept-focused.
34
- - **Context Block:** "This topic covers [X]. You should already understand [Y] and have [Z] installed."
32
+ ## Related Skills
35
33
 
36
- ### Step 3: Information Mapping
37
-
38
- Structure the body content:
39
- - **Chunking:** Break large blocks into units of <7 items.
40
- - **Labeling:** Use headers that describe the *result* or *content* (e.g., "Configuring the API" not just "Configuration").
41
- - **Tables/Lists:** Convert complex comparisons or steps into visual structures.
42
-
43
- ### Step 4: AI-First Polish
44
-
45
- - **Semantic Headers:** Ensure headers are descriptive for RAG indexing.
46
- - **Compressed Summary:** Provide a 1-2 sentence "tl;dr" at the top for LLM ingestion.
47
-
48
- ## Template (How-to Guide)
49
-
50
- ```markdown
51
- # [Task-Focused Title]
52
-
53
- **TL;DR:** [1-sentence summary for human/AI]
54
-
55
- ## Context & Prerequisites
56
- This guide explains how to [Goal]. Before starting, ensure you have:
57
- - [Prerequisite 1]
58
- - [Prerequisite 2]
59
-
60
- ## [Action Step 1: Specific Result]
61
- [Chunked instructions]
62
-
63
- ## [Action Step 2: Specific Result]
64
- [Chunked instructions]
65
-
66
- ## Troubleshooting: Common Fail-States
67
- | Symptom | Cause | Fix |
68
- | :--- | :--- | :--- |
69
- | [Error] | [Reason] | [Solution] |
70
-
71
- ## Further Exploration
72
- - [Lateral Link 1] (Subject affinity)
73
- - [Lateral Link 2] (Subject affinity)
74
- ```
34
+ - `research-documentation` — audit before writing.
35
+ - `review-documentation` — review after writing.
@@ -0,0 +1,35 @@
1
+ # Documentation Anti-Patterns
2
+
3
+ Avoid these during Step 1 (quadrant check) and throughout writing. Source: `content/research-finding-library-docs-best-practices.md` (Section 1, Common Mistakes and Anti-Patterns).
4
+
5
+ ## Leading with explanation instead of action
6
+
7
+ The engineer's impulse is to explain how a system works before showing how to use it. This is backwards for most users. Quickstart then how-to then reference is the ramp-up order. Fix: in Tutorials and How-tos, lead with a runnable result; move "how it works" to Explanation.
8
+
9
+ ## One stream of text serving as THE DOCS
10
+
11
+ A single document trying to teach beginners, guide intermediate users, and serve as expert reference serves none of them. Fix: split by Diátaxis quadrant; each page has one intent.
12
+
13
+ ## FAQ lists as an anti-pattern
14
+
15
+ An FAQ is "the box in the garage where you put things when you can't be bothered to put them in the right place." If information is in the right Diátaxis quadrant, it does not need repeating in an FAQ. Fix: place each answer where it belongs; delete the FAQ or keep only genuinely miscellaneous items.
16
+
17
+ ## The curse of knowledge
18
+
19
+ Experts forget what it was like not to know. They skip "obvious" steps, use undefined jargon, assume context beginners lack. Fix: in Tutorials, state every prerequisite; define jargon on first use; have a non-expert read it.
20
+
21
+ ## Stale documentation
22
+
23
+ Docs not embedded in the development workflow drift from the code. Incorrect docs are worse than missing docs — they waste time and erode trust. Fix: docs-as-code, docs-updated checkboxes in PRs, "you touch it, you document it."
24
+
25
+ ## Knowledge silos
26
+
27
+ Scattered docs across wikis, READMEs, Confluence, Notion create a fragmented experience where users cannot find things and contributors do not know where to put new content. Fix: one canonical location, ideally in the same repo as the code.
28
+
29
+ ## Partial coverage
30
+
31
+ Documenting some but not all of a feature or API creates a false sense of completeness — users assume the undocumented part does not exist or work. Fix: cover a concept fully or not at all; use the completeness checklist (in the `research-documentation` skill's `references/checklist.md`).
32
+
33
+ ## Mixed-intent "Frankenbooks"
34
+
35
+ A page that starts as a tutorial, becomes reference, and ends as explanation. Fix: split into three focused pages; each keeps quadrant purity. Use a Note or Deep Dive sidebar only when a sliver of theory is required inside a task page.
@@ -0,0 +1,31 @@
1
+ # Diátaxis Implementation Guide
2
+
3
+ Six-step rollout for adopting Diátaxis on an existing or new documentation set. Use in Step 5 when the task is a full architecture rollout rather than a single topic. The Diátaxis framework theory is canonical in `content/research-documentation-frameworks.md`; these implementation steps are sourced from `content/research-finding-library-docs-best-practices.md` (Section 3, How to Implement Diátaxis in Practice).
4
+
5
+ ## Step 1: Audit existing documentation
6
+
7
+ Catalog every existing document and classify it as Tutorial, How-to, Reference, or Explanation. The audit typically reveals that most docs are reference, with gaps in tutorials and explanation. (Use the `research-documentation` skill for this.)
8
+
9
+ ## Step 2: Create a directory structure
10
+
11
+ Create four directories or sections: `tutorials/`, `how-to/` (or `guides/`), `reference/`, and `explanation/`. Apply title conventions per type: Explanation titles use "Understanding / Dive into / Introduction to..."; How-to titles start with "How to..."; Tutorial titles use "Getting started with...".
12
+
13
+ ## Step 3: Assign content types and split mixed documents
14
+
15
+ Long mixed-topic documents become multiple short, focused documents. A document that is tutorial then reference then explanation becomes three separate documents, each in its quadrant directory.
16
+
17
+ ## Step 4: Establish contribution guidelines
18
+
19
+ Document the framework for contributors so new docs land in the right place from the start. Without guidelines the four-directory structure fills with misclassified content. Keep the guidelines short: one sentence per quadrant on what belongs there.
20
+
21
+ ## Step 5: Integrate with the development workflow
22
+
23
+ Add architecture specs to Reference alongside code changes. Add technical decision logs to Explanation during feature development. Docs-updated checkboxes in PR templates. This integration is what keeps docs current.
24
+
25
+ ## Step 6: Use Diátaxis as an AI prompt template
26
+
27
+ The clear information patterns make effective AI prompt templates: ask a model to sort unstructured content into the four patterns to accelerate a first draft, then review and refine. (See `templates.md` for the per-quadrant output shapes.)
28
+
29
+ ## Critiques to keep in mind
30
+
31
+ Diátaxis is a guide, not dogma. Forcing every artifact into four rigid buckets produces awkward docs. The terms overlap (tutorial vs. how-to needs editorial judgment). The framework does not address content reuse (DITA's conref may suit enterprise multi-output needs) nor finding aids. For early-stage projects, a single compelling quick start may suffice before the full suite.
@@ -0,0 +1,115 @@
1
+ # Diátaxis Templates
2
+
3
+ One template per quadrant. Match the template to the quadrant identified in Step 1. The canonical theory is `content/research-documentation-frameworks.md`.
4
+
5
+ ## Tutorial (learning-oriented, beginners)
6
+
7
+ Goal: build competency through a guided, safe experience. Show, do not lecture.
8
+
9
+ ```markdown
10
+ # [Getting Started with X]
11
+
12
+ **TL;DR:** [1-sentence outcome for human/AI]
13
+
14
+ ## What You Will Learn
15
+ By the end you will have [concrete result]. No prior knowledge of [X] is assumed.
16
+
17
+ ## Prerequisites
18
+ - [Prerequisite 1]
19
+ - [Prerequisite 2]
20
+
21
+ ## Step 1: [Specific Result]
22
+ [Chunked, do-this-now instructions. Each step yields a visible result.]
23
+
24
+ ## Step 2: [Specific Result]
25
+ [Chunked instructions.]
26
+
27
+ ## Recap & Next Steps
28
+ You built [X]. Next, try [lateral link 1] or [lateral link 2].
29
+ ```
30
+
31
+ ## How-to (task-oriented, assumes baseline competence)
32
+
33
+ Goal: answer a specific question directly. Minimal theory.
34
+
35
+ ```markdown
36
+ # [Task-Focused Title]
37
+
38
+ **TL;DR:** [1-sentence summary for human/AI]
39
+
40
+ ## Context & Prerequisites
41
+ This guide explains how to [Goal]. Before starting, ensure you have:
42
+ - [Prerequisite 1]
43
+ - [Prerequisite 2]
44
+
45
+ ## [Action Step 1: Specific Result]
46
+ [Chunked instructions]
47
+
48
+ ## [Action Step 2: Specific Result]
49
+ [Chunked instructions]
50
+
51
+ ## Troubleshooting: Common Fail-States
52
+ | Symptom | Cause | Fix |
53
+ | :--- | :--- | :--- |
54
+ | [Error] | [Reason] | [Solution] |
55
+
56
+ ## Further Exploration
57
+ - [Lateral Link 1] (Subject affinity)
58
+ - [Lateral Link 2] (Subject affinity)
59
+ ```
60
+
61
+ ## Reference (information-oriented, experienced users)
62
+
63
+ Goal: fast, accurate facts. Scannable tables, no narrative filler.
64
+
65
+ ```markdown
66
+ # [X] Reference
67
+
68
+ **TL;DR:** [1-sentence summary for human/AI]
69
+
70
+ ## [Function/Endpoint/Class Name]
71
+
72
+ **Signature:** `signature`
73
+
74
+ **Parameters:**
75
+ | Name | Type | Required | Description |
76
+ | :--- | :--- | :--- | :--- |
77
+ | [name] | [type] | yes/no | [description] |
78
+
79
+ **Returns:** [type and meaning]
80
+
81
+ **Errors:**
82
+ | Code | Meaning | Remediation |
83
+ | :--- | :--- | :--- |
84
+ | [code] | [meaning] | [fix] |
85
+
86
+ **Example:**
87
+ [Minimal, complete, runnable example]
88
+ ```
89
+
90
+ ## Explanation (understanding-oriented, the "why")
91
+
92
+ Goal: deepen knowledge; no specific task. Discussion, design rationale, trade-offs.
93
+
94
+ ```markdown
95
+ # [Understanding X]
96
+
97
+ **TL;DR:** [1-sentence summary for human/AI]
98
+
99
+ ## Why [X] Exists This Way
100
+ [Design rationale and history. No steps.]
101
+
102
+ ## Key Concepts
103
+ - [Concept 1]: [definition and why it matters]
104
+ - [Concept 2]: [definition and how it relates to Concept 1]
105
+
106
+ ## Trade-offs
107
+ | Approach | Pro | Con |
108
+ | :--- | :--- | :--- |
109
+ | [A] | [pro] | [con] |
110
+ | [B] | [pro] | [con] |
111
+
112
+ ## Further Exploration
113
+ - [Lateral Link 1] (Subject affinity)
114
+ - [Lateral Link 2] (Subject affinity)
115
+ ```
@@ -0,0 +1,46 @@
1
+ # Tooling Comparison & Docs-as-Code
2
+
3
+ Use in Step 5 when choosing a platform or setting up docs infrastructure. Platform selection is an implementation decision, not an audit finding. Source: `content/research-finding-library-docs-best-practices.md` (Section 6, Modern Tooling and Infrastructure).
4
+
5
+ ## Platform comparison
6
+
7
+ | Platform | Best For | Stack | Key Strength |
8
+ | :--- | :--- | :--- | :--- |
9
+ | Docusaurus | Complex OSS docs, versioning | React/JS | Ecosystem, versioning, MDX |
10
+ | MkDocs (Material) | Python projects, simple setup | Python | Simplicity, polished theme |
11
+ | Sphinx | Python API reference | Python | Autodoc, multiple outputs |
12
+ | Read the Docs | OSS hosting, versioning | Agnostic | Free hosting, versioning |
13
+ | GitBook | Team knowledge bases | Agnostic | Editing UX, AI search |
14
+ | Mintlify | API docs, dev portals | Agnostic | Design, AI search, OpenAPI |
15
+ | Starlight | Performance-critical docs | Astro | Performance, accessibility |
16
+ | Nextra | Custom Next.js sites | React/Next.js | Customization, React components |
17
+
18
+ ## How to choose
19
+
20
+ - Python ecosystem or simplicity: MkDocs / Sphinx.
21
+ - API reference that must stay synced to code: Sphinx autodoc, mkdocstrings, or TypeDoc.
22
+ - API docs with interactive playground: Mintlify.
23
+ - Complex OSS docs with versioning and i18n: Docusaurus.
24
+ - Performance and built-in accessibility: Starlight.
25
+ - Free open-source hosting with versioning: Read the Docs.
26
+
27
+ ## Docs-as-code workflow
28
+
29
+ Write docs in plain text (Markdown/AsciiDoc/reST), store in Git, review through pull requests, publish through CI/CD. Core practices:
30
+
31
+ - Store docs in the same repository as the code.
32
+ - Write in plain text (Markdown dominates for developer docs).
33
+ - Review all doc changes through the same PR process as code.
34
+ - Automate builds and deployments via CI/CD (GitHub Actions, GitLab CI).
35
+ - Enforce quality through automation: Vale, markdownlint, link checkers (htmlproofer, lychee), spell checkers on every PR.
36
+ - Generate API reference from OpenAPI/Swagger to keep it synchronized.
37
+
38
+ ## Specification-driven API docs
39
+
40
+ - **OpenAPI** is the standard for REST APIs (YAML/JSON). Use it to auto-generate interactive reference (Swagger UI, Redoc, Stoplight Elements), client SDKs, and mock servers, and to power AI agent tool manifests.
41
+ - **AsyncAPI** extends the approach to event-driven APIs (WebSockets, Kafka, MQTT).
42
+ - Prefer a **design-first** approach: write the spec before the code. This enables early collaboration, immediate mock servers, and ensures docs are never an afterthought.
43
+
44
+ ## Interactive documentation
45
+
46
+ Place the interactive element directly adjacent to the relevant docs, not on a separate playground page. Live code playgrounds (CodeSandbox, StackBlitz), interactive API explorers (Swagger UI, Mintlify), and embedded REPLs reduce time-to-first-success.
@@ -0,0 +1,31 @@
1
+ # Versioning & Changelog Strategy
2
+
3
+ Use in Step 5 when setting up versioned documentation. Source: `content/research-finding-library-docs-best-practices.md` (Section 2, Versioned Documentation Strategies).
4
+
5
+ ## Version-tagged documentation
6
+
7
+ Each major release should have a corresponding docs version. Tools like Read the Docs, Docusaurus, and Sphinx provide built-in versioned docs so users can select the version matching their installed software.
8
+
9
+ ## Version selector in the UI
10
+
11
+ A prominent version selector in navigation lets users switch versions. The current stable version is the default, with clear indicators when a user is viewing an older or pre-release version.
12
+
13
+ ## Deprecation notices
14
+
15
+ When features are deprecated, update docs immediately with a deprecation notice, the version in which deprecation occurred, and a migration path to the replacement.
16
+
17
+ ## Changelog as a first-class document
18
+
19
+ Treat the changelog as a primary artifact, not an afterthought. Link it prominently from the docs home page and update it as part of the release process. Link migration guides from the changelog entries that introduce breaking changes; highlight breaking changes prominently.
20
+
21
+ ## Write version-agnostic content where possible
22
+
23
+ Conceptual and explanation content that does not change between versions should avoid version-specific references. This reduces maintenance burden and prevents confusion.
24
+
25
+ ## Docs-as-code for version control
26
+
27
+ Store docs in the same Git repository as the code (or a closely linked one) so docs version alongside code. Pull requests for code changes include doc updates; CI/CD pipelines can enforce that docs are updated before a release merges.
28
+
29
+ ## Canonical URLs
30
+
31
+ Versioned docs create a risk of duplicate-content search penalties. Use canonical URL tags pointing search engines to the current stable version of each page.
@@ -15,15 +15,16 @@ Read `references/setup.md` for tracker-specific collection commands before revie
15
15
  ## Procedure
16
16
 
17
17
  1. Gather the issue set to review plus the source plan/spec/parent issue when available.
18
- 2. Run the passes in order:
18
+ 2. For Beads trackers, run PASS 0 pre-flight checks first: `references/pass-0-preflight.md`
19
+ 3. Run the content passes in order:
19
20
  - Pass 1: `references/pass-1-clarity.md`
20
21
  - Pass 2: `references/pass-2-scope.md`
21
22
  - Pass 3: `references/pass-3-dependencies.md`
22
23
  - Pass 4: `references/pass-4-alignment.md`
23
24
  - Pass 5: `references/pass-5-executability.md`
24
- 3. After each pass starting with pass 2, evaluate convergence using `references/convergence.md`.
25
- 4. If converged, stop.
26
- 5. Produce the final report using `references/final-report.md`.
25
+ 4. After each pass starting with pass 2, evaluate convergence using `references/convergence.md`.
26
+ 5. If converged, stop.
27
+ 6. Produce the final report using `references/final-report.md`.
27
28
 
28
29
  ## Review Lens
29
30
 
@@ -0,0 +1,37 @@
1
+ # PASS 0: Pre-flight (Beads only)
2
+
3
+ Run before all content passes. Mechanical checks that don't require reading issue bodies.
4
+
5
+ **Check 1 — metadata.files coverage:**
6
+ ```bash
7
+ bd list --format json | python3 -c "
8
+ import json, sys
9
+ issues = json.load(sys.stdin)
10
+ missing = [i['id'] for i in issues
11
+ if not (i.get('metadata') or {}).get('files')]
12
+ if missing: print('Missing metadata.files:', missing)
13
+ "
14
+ ```
15
+ Flag `[PRE-001] MEDIUM` for each ticket missing `metadata.files`.
16
+ Fix: `bd update <id> --set-metadata 'files=["path/to/file.py"]'`
17
+
18
+ **Check 2 — shared-file architecture smell:**
19
+ ```bash
20
+ bd list --format json | python3 -c "
21
+ import json, sys
22
+ from collections import defaultdict
23
+ issues = json.load(sys.stdin)
24
+ owners = defaultdict(list)
25
+ for i in issues:
26
+ for f in (i.get('metadata') or {}).get('files', []):
27
+ owners[f].append(i['id'])
28
+ for f, ids in owners.items():
29
+ if len(ids) >= 3: print(f, '->', ids)
30
+ "
31
+ ```
32
+ Flag `[PRE-002] LOW` for any file claimed by 3+ open tickets.
33
+ Recommendation: consider a decomposition ticket to split `<file>` before these
34
+ tickets run (see navari-a3cv pattern). If not decomposing now, add a
35
+ co-modification note to all affected tickets.
36
+
37
+ **Prefix:** PRE-001, PRE-002, etc.
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: next
3
+ description: "Rapid session snapshot to ~/.whisper/ — no full close ceremony. Fast stash for later resumption via /renew"
4
+ metadata:
5
+ installed-from: "incitaciones"
6
+ ---
7
+ ---
8
+ name: next
9
+ description: "Rapid session snapshot to ~/.whisper/ — no full close ceremony. Trigger when the user says '/next', 'snap', 'quick save', 'stash session', or 'moving on'."
10
+ tools: Read, Write, Edit, Bash
11
+ ---
12
+
13
+ # Next
14
+
15
+ Snapshot the current session to `~/.whisper/` and move on. Fast — no project file updates, no inbox triage, no ticket operations. Pure stash.
16
+
17
+ ## Steps
18
+
19
+ 1. Get timestamp: `date +%Y-%m-%d` and `date +%H:%M`.
20
+
21
+ 2. Detect repo and branch:
22
+ ```bash
23
+ repo_url=$(git remote get-url origin 2>/dev/null | sed 's|https://||;s|git@||;s|\.git$||')
24
+ branch=$(git rev-parse --abbrev-ref HEAD)
25
+ branch_slug=$(echo "$branch" | sed 's|/|--|g')
26
+ notes_path=~/.whisper/repos/"${repo_url}"/branches/"${branch_slug}"/notes.md
27
+ ```
28
+
29
+ 3. If `~/.whisper/` doesn't exist or the branch slot doesn't exist, run `/w check` first (which will offer to init). If the user declines, skip and warn.
30
+
31
+ 4. Scan the last portion of the conversation and write a 2–5 bullet snapshot:
32
+ - What was worked on (files, topics)
33
+ - Key decisions or changes made
34
+ - **Next:** the most logical continuation point
35
+
36
+ 5. Append the snapshot to `notes.md`:
37
+ ```
38
+ ### YYYY-MM-DD HH:MM — snap
39
+ - what was worked on
40
+ - decisions made
41
+ - **Next:** continuation point
42
+ ```
43
+
44
+ 6. No commit, no push, no ticket operations. Just write the file.
45
+
46
+ ## Output
47
+
48
+ ```
49
+ ✓ Snapped to ~/.whisper/repos/<repo>/branches/<slug>/notes.md
50
+
51
+ Use `/renew` later to pick this back up.
52
+ ```
53
+
54
+ ## Rules
55
+
56
+ - Do NOT ask questions — summarize automatically from conversation context.
57
+ - Keep it brief — 2–5 bullets, not paragraphs.
58
+ - Do NOT commit or push anything.
59
+ - Do NOT update project files, inbox, or tickets.
60
+ - Do NOT run `/clear`.
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: park
3
+ description: "Snapshot current work before switching context. Logs to daily journal, releases ticket claims, records to ~/.whisper/"
4
+ metadata:
5
+ installed-from: "incitaciones"
6
+ ---
7
+ ---
8
+ name: park
9
+ description: "Snapshot current work before switching context. Logs what was done and what's next without ending the day. Trigger when the user says '/park', 'park this', 'switching to', 'pause this', or 'context switch'."
10
+ tools: Read, Write, Edit, Bash
11
+ ---
12
+
13
+ # Park
14
+
15
+ Snapshot the current session's work on a project/area before switching context. This is NOT end-of-day — just a context switch.
16
+
17
+ Uses `$JOURNAL_PATH` (defaults to `~/dev/status`) for the daily log journal, and `~/.whisper/` for accumulated operational knowledge. The log subdirectory defaults to `log/`; set `$JOURNAL_LOG_SUBDIR` to override (e.g. `areas/log` for the JORNAL layout).
18
+
19
+ ## Steps
20
+
21
+ 1. Get today's date and current time (`date +%Y-%m-%d`, `date +%H:%M`).
22
+ ```bash
23
+ JOURNAL="${JOURNAL_PATH:-$HOME/dev/status}"
24
+ LOG_SUBDIR="${JOURNAL_LOG_SUBDIR:-log}"
25
+ ```
26
+
27
+ 2. Read today's log: `$JOURNAL/$LOG_SUBDIR/YYYY/YYYY-MM/YYYY-MM-DD.md`
28
+ If it doesn't exist, create it with the daily log template.
29
+
30
+ 3. Review the conversation history to determine:
31
+ - What project/area was being worked on
32
+ - What was accomplished in this session
33
+ - What the logical next step is
34
+ - Any new tasks, decisions, or blockers discovered
35
+
36
+ 4. Append a session entry to today's log under `## Log`:
37
+ ```
38
+ ### Session:HH:MM (<project/area context>)
39
+ - what was done
40
+ - decisions made
41
+ - **Next:** what to do when resuming
42
+ ```
43
+
44
+ 5. Update the relevant project/area file if needed:
45
+ - Mark completed tasks `[x]`
46
+ - Add new tasks discovered during the session
47
+ - Add/update `[~]` waiting items with context
48
+ - Update `## Notes` with any decisions
49
+
50
+ 6. If there are uncommitted changes in the project's git worktree, note them in the log entry.
51
+
52
+ 7. **Release any in-progress ticket claim if leaving mid-work.**
53
+ Check whether a ticket was claimed for this session:
54
+ ```bash
55
+ BRANCH=$(git branch --show-current 2>/dev/null)
56
+ bd list --status in_progress --label branch:$BRANCH 2>/dev/null
57
+ ```
58
+ For each in-progress ticket that is NOT complete:
59
+ - **If meaningful work was committed:** keep the claim and append a progress note:
60
+ ```bash
61
+ bd note <id> "Session parked $(date +%H:%M). Done: <brief>. Safe to resume from: <last commit>."
62
+ ```
63
+ - **If nothing was committed:** release the claim so another agent can pick it up:
64
+ ```bash
65
+ bd update <id> --assignee "" --status open
66
+ ```
67
+
68
+ 8. **Record snapshot to `~/.whisper/`.** If `~/.whisper/` exists and a beads-epic is linked, append a note to the epic:
69
+ ```bash
70
+ repo_url=$(git remote get-url origin 2>/dev/null | sed 's|https://||;s|git@||;s|\.git$||')
71
+ branch_slug=$(git rev-parse --abbrev-ref HEAD | sed 's|/|--|g')
72
+ context_path=~/.whisper/repos/"${repo_url}"/branches/"${branch_slug}"/context.md
73
+ beads_epic=$(grep '^beads-epic:' "$context_path" 2>/dev/null | sed 's/^beads-epic: *//')
74
+ if [ -n "$beads_epic" ]; then
75
+ bd note "$beads_epic" "Parked $(date +%H:%M). Done: <what was accomplished>. Next: <the logical continuation>."
76
+ fi
77
+ ```
78
+
79
+ 9. Do NOT commit/push the journal repo yet — that happens at `/close`. Just write the files.
80
+
81
+ ## Output format
82
+
83
+ ```
84
+ ---
85
+ **Parked: <project/area name>**
86
+
87
+ **Session summary**
88
+ - what was accomplished
89
+
90
+ **Next step** *(for when you /renew)*
91
+ - the logical continuation
92
+
93
+ **Updated**
94
+ - files modified in status repo (log, project file, etc.)
95
+
96
+ *Ready to switch context. Use `/renew <slug>` to pick up something else.*
97
+ ```
98
+
99
+ ## Rules
100
+
101
+ - Do NOT ask questions — summarize automatically from conversation context.
102
+ - Keep it brief — this is a quick snapshot, not a full report.
103
+ - Do NOT commit or push the journal repo.
104
+ - Do NOT run `/clear` — the user may continue working in this session.