一键导入
consolidate
Find patterns across project findings and surface insights that apply everywhere.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Find patterns across project findings and surface insights that apply everywhere.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Find patterns across project findings and surface insights that apply everywhere.
Audit your phren repo and tell you exactly what needs attention.
Set up a new project in phren with summary, CLAUDE.md, task, and skill templates.
Manage machine-to-profile and profile-to-project mappings in phren.
Sync your Claude skills and project config across machines using profiles.
Audit your phren repo and tell you exactly what needs attention.
| name | consolidate |
| description | Find patterns across project findings and surface insights that apply everywhere. |
| dependencies | ["git"] |
Find patterns across project findings and surface insights that apply everywhere.
Read every project's FINDINGS.md, find patterns that show up across multiple projects, and write them to a shared global findings file.
The point: something you learned on one project probably applies elsewhere. Phren connects those fragments across projects.
This skill needs at least two projects with FINDINGS.md files to be useful. If you haven't captured any findings yet, use add_finding() during a session first.
Works with or without profiles. If profiles are set up, it scans projects in the active profile. If not, it scans all project directories in the phren repo.
PHREN_DIR="${PHREN_DIR:-$HOME/.phren}"
ls "$PHREN_DIR" 2>/dev/null
If it doesn't exist, tell the user:
"No phren directory found at ~/.phren. This skill needs a phren repo with project findings. Run
phren-initto set one up, or set PHREN_DIR if yours is elsewhere."
Try the profile-aware path first, fall back to scanning all directories:
MACHINE=$(cat ~/.phren/.machine-id 2>/dev/null || hostname)
# look up profile in machines.yaml to get the project list
# fallback: scan all project directories
FINDINGS_FILES=()
for dir in "$PHREN_DIR"/*/; do
if [ -f "$dir/FINDINGS.md" ]; then
PROJECT_NAME=$(basename "$dir")
FINDINGS_FILES+=("$PROJECT_NAME:$dir/FINDINGS.md")
fi
done
Read every FINDINGS.md file found. Don't sample or skip any. For each file, track which project it came from.
If no FINDINGS.md files exist anywhere, tell the user:
"No FINDINGS.md files found in any project. Use
add_finding()during a work session to start capturing findings."
If only one project has a FINDINGS.md, tell the user:
"Only found findings for . Need at least two projects to find cross-cutting patterns. Use
add_finding()in other projects first."
Compare findings across all projects. A pattern counts as cross-cutting when the same insight, technique, or pitfall appears in 2+ projects. Don't just look for keyword overlap; look for conceptual overlap.
Be specific. Not "testing is important" but "mocking at service boundaries instead of HTTP layer caught integration bugs in both my-app and backend."
Common categories (use only the ones that have actual matches):
Don't force categories. If only one project mentions something, it stays project-specific. If a pattern genuinely spans projects, include it even if it doesn't fit a neat category.
Before writing, read $PHREN_DIR/global/FINDINGS.md if it exists. Don't duplicate entries that are already there. Update existing entries if there's new evidence or additional projects that confirm the pattern.
File: $PHREN_DIR/global/FINDINGS.md
# Cross-project findings
Last consolidated: <date>
Sources: <list of project names scanned>
## Build and tooling
- Clear dist/ after any tsconfig change, the build cache doesn't invalidate (my-app, backend)
- Lock file conflicts: delete and regenerate, don't try to merge (my-app, frontend)
## Testing
- Mock at the service boundary, not the HTTP layer (backend, frontend)
- Session-scoped fixtures cause flaky parallel tests (backend, my-app)
Rules for each entry:
phren-consolidate
Scanned: my-app (12 findings), backend (8 findings), frontend (5 findings)
Found 6 cross-cutting patterns:
Build: 2 patterns (cache invalidation, lock file handling)
Testing: 2 patterns (mock boundaries, fixture scoping)
TypeScript: 2 patterns (strict nulls, path aliases)
New patterns added: 4
Existing patterns updated: 2 (added new project evidence)
Skipped: 0 (already captured)
Updated: $PHREN_DIR/global/FINDINGS.md
cd "$PHREN_DIR"
git add global/FINDINGS.md
git commit -m "update global findings"
git push # only if remote exists
add_finding(): capture findings during a session via MCPphren-sync: sync the consolidated findings to other machines